package com.uzai.console.entity.es;

import com.uzai.console.vo.profit.normalrewardrule.NormalRewardRuleInfoVo;
import com.uzai.console.vo.profit.nuserrewardrule.NuserRewardRuleInfoVo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.List;

/**
 * @Auther: jianghan
 * @Date: 2021/9/6 10:42
 * @Description:
 */
@ApiModel("订单返回分佣详情对象")
public class RewardVo implements Serializable {
    private static final long serialVersionUID = 5920695142863963554L;
    @ApiModelProperty("主键ID")
    private String id;
    @ApiModelProperty("奖励规则生成时间")
    private int createTime;
    @ApiModelProperty("奖励规则修改时间")
    private int updateTime;
    @ApiModelProperty("奖励规则类型 0定向 1杀熟 2普通")
    private int type;
    @ApiModelProperty("会员类型ID")
    private Long userType;
    @ApiModelProperty("奖励买家金额")
    private ReDetail reUser;
    @ApiModelProperty("奖励合伙人金额")
    private ReDetail rePartner;
    @ApiModelProperty("奖励代理金额")
    private ReDetail reAgent;
    @ApiModelProperty("奖励上级代理金额")
    private ReDetail reSlAgent;
    @ApiModelProperty("奖励上级金额")
    private ReDetail reParent;
    @ApiModelProperty("奖励上上级金额")
    private ReDetail reSlParent;
    @ApiModelProperty("奖励上N级明细")
    private List<ReDetail> reOthers;
    @ApiModelProperty("定向奖励规则")
    private PriRuleVo priRule;
    @ApiModelProperty("杀熟奖励规则")
    private NuserRewardRuleInfoVo nuserRewardRule;
    @ApiModelProperty("普通奖励规则")
    private NormalRewardRuleInfoVo normalRewardRule;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public int getCreateTime() {
        return createTime;
    }

    public void setCreateTime(int createTime) {
        this.createTime = createTime;
    }

    public int getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(int updateTime) {
        this.updateTime = updateTime;
    }

    public static class ReDetail implements Serializable{
        private static final long serialVersionUID = -3569572654925366844L;
        @ApiModelProperty("用户id")
        private Long userId;
        @ApiModelProperty("用户姓名")
        private String userName;
        @ApiModelProperty("奖励金额")
        private double reBal;
        @ApiModelProperty("奖励积分")
        private int reInte;

        public Long getUserId() {
            return userId;
        }

        public void setUserId(Long userId) {
            this.userId = userId;
        }

        public double getReBal() {
            return reBal;
        }

        public void setReBal(double reBal) {
            this.reBal = reBal;
        }

        public int getReInte() {
            return reInte;
        }

        public void setReInte(int reInte) {
            this.reInte = reInte;
        }

        public String getUserName() {
            return userName;
        }

        public void setUserName(String userName) {
            this.userName = userName;
        }
    }

    public int getType() {
        return type;
    }

    public void setType(int type) {
        this.type = type;
    }

    public ReDetail getReUser() {
        return reUser;
    }

    public void setReUser(ReDetail reUser) {
        this.reUser = reUser;
    }

    public ReDetail getRePartner() {
        return rePartner;
    }

    public void setRePartner(ReDetail rePartner) {
        this.rePartner = rePartner;
    }

    public ReDetail getReAgent() {
        return reAgent;
    }

    public void setReAgent(ReDetail reAgent) {
        this.reAgent = reAgent;
    }

    public ReDetail getReSlAgent() {
        return reSlAgent;
    }

    public void setReSlAgent(ReDetail reSlAgent) {
        this.reSlAgent = reSlAgent;
    }

    public ReDetail getReParent() {
        return reParent;
    }

    public void setReParent(ReDetail reParent) {
        this.reParent = reParent;
    }

    public ReDetail getReSlParent() {
        return reSlParent;
    }

    public void setReSlParent(ReDetail reSlParent) {
        this.reSlParent = reSlParent;
    }

    public List<ReDetail> getReOthers() {
        return reOthers;
    }

    public void setReOthers(List<ReDetail> reOthers) {
        this.reOthers = reOthers;
    }

    public PriRuleVo getPriRule() {
        return priRule;
    }

    public void setPriRule(PriRuleVo priRule) {
        this.priRule = priRule;
    }

    public NuserRewardRuleInfoVo getNuserRewardRule() {
        return nuserRewardRule;
    }

    public void setNuserRewardRule(NuserRewardRuleInfoVo nuserRewardRule) {
        this.nuserRewardRule = nuserRewardRule;
    }

    public NormalRewardRuleInfoVo getNormalRewardRule() {
        return normalRewardRule;
    }

    public void setNormalRewardRule(NormalRewardRuleInfoVo normalRewardRule) {
        this.normalRewardRule = normalRewardRule;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getUserType() {
        return userType;
    }

    public void setUserType(Long userType) {
        this.userType = userType;
    }
}
